The invention relates to a method for managing resources of a computer system, such resources also being shared between several different application execution modules for example the remote processing of data, the logistics for controlling servo-controlled systems, controlling failures, controlling inventories, etc. The invention also relates to a module supervising the implementation of such method and the computer system including such supervising module.
In a computer system, a platform, a computer or a terminal, independent applications can be executed by accessing software and hardware resources common to the computer system. The sharing of such resources such as a screen, inlets/outlets, memory, sound processor, access to a network or any other resource, between the applications, maybe a problem. Besides, when adding applications, the implementation functionalities of which use such software and hardware resources between several execution modules, the arbitration for the acquisition or sharing of such resources is particularly difficult to implement when the number of different types of resources increases.
In a particular case, the U.S. Pat. No. 6,947,048 discloses a method for managing access to a screen in an integrated system, consisting in centralizing the screen accesses to allocate rights of access to several applications. This solution is however limited to graphical display management. The U.S. Pat. No. 6,882,965 relating to a method for the hierarchic scheduling of access to the resources is also known. But this solution is limited to temporal decision criteria.
In addition, the Chinese Patent No. 1622075 discloses a system for allocating shared resources consisting in a set of independent resources managers ad hoc for each type of resource. Each resource, in this solution, is independent. Thus, the allocation decision criteria are also independent and it is impossible to obtain uniformity in the management of resources. Thus, in spite of the improvements made, none of these documents could give a solution to the difficulty of managing shared resources such as for example, when two applications simultaneously make requests for access to the same resource, as this is frequently the case for the sound channel.
In order to limit this type of conflict, it is known to use solutions specific to a group of resources, for example through a connection between the graphical display management and the management of the keyboard. Thus, the architectures based on the usual interfaces X11 or Win32 adopt this type of solution. Such a solution is for example available on the site http://www.x.org/ for X11, and on the site http://msdn2.microsoft.com/en-us/library/aa383750.aspx for Win32. However, in these solutions, nothing can prevent conflicts for obtaining other resources such as sound. A fortiori, such solutions do not make it possible to avoid conflicts for the access to non provided or non managed resources.
Another known solution consists in modelizing the whole system, with all the applications and all the resources managements using a machine stating the trace of the connections provided with appropriate tools. This solution however is not adapted to enable the addition of an initially non provided service, since this questions the initial model. Thus, in spite of the improvements made in these specific cases, such solutions do not solve the problem mentioned in the most common case of shared resources, particularly when the number of resource types is increased in a limited technical environment, the processing capacities of which are thus reduced with respect to the multiplication of applications.
The invention aims at solving in a coherent way the general problem of managing a system of multiple resources having a different nature. More particularly, the invention is intended for the sharing of resources between multiple applications that can be executed on a computer platform or in situations involving the addition of new resources that were not initially provided. In order to achieve these objectives, the invention provides to avoid conflict between shared resources starting from the application, with the access rights being allocated for each application while maintaining an opening enabling the addition of new applications and resources. More specifically, the object of the invention is a method for managing the resources of a computer system that are shared between multiple applications, wherein during the execution of such applications, allocation rules generate, for each application, access rights to each shared resource in the form of successive steps controlled, for each shared resource, by a specific control module. With each command, a decision criteria parameterization step checks the rule for allocating access rights, whereby the decision criteria can be shared between at least part of the control modules, with a control module and at least one decision criterion being added to the system when a new resource is added to the system.
According to particular embodiments:
the decision criteria parameterization can be executed by application sorters based on access priority properties;
the priority properties allocated to the applications corresponding with the decision criteria refer to the activation of one application, when one sorted application is placed in front of the applications having the same application priority, under those having a higher application priority, to cooperative abort, when one application is sorted and placed under the application having the same application priority, but above those having a lower application priority, and to the deactivation when the application is placed in a non-sorted list of deactivated applications, with the sorting being reserved for a main list of applications;
steps for actuating decision criteria are provided when modifications are made on at least one of those;
the steps for allocating access rights consists in authorizing the exclusive access, denying access, authorizing shared access or partial access to a resource by an application;
a control module and at least a decision criterion can be added more particularly when a new resource is added to the computer system.
Advantageously, the method enables a formalization, flexibility and simplification of the management of a device (whether mobile or not), by allowing the adaptation thereof as a function of the existing or future resources, and to change the behavior of access and sharing of software and hardware resources, without affecting the high level functions of the system. In addition, the method according to the invention does not require a particular computer identification of the management of applications, but any known identification in the computer systems of the prior art. The invention also relates to a manager of the resources to be shared between the applications, also called a supervising module, intended for the implementation of the method.
According to the invention, this computer system shared resource management supervising module including an application space and hardware and software resources is composed of first series of interdependent decision criteria implementation complements and a second series of resource access control components having multiple connections with the first series. Thus, requests for utilizing resources and requests for access to the resources respectively transmitted by specific connections of the application space, to the decision criteria components and resource access control components, are processed by the components of the supervising module to share the resources. In particular embodiments, the decision criteria and access control implementation components can be storage memories connected with adapted software modules. The invention also relates to a computer system including such a supervising module, the decision criteria and resource access control implementation components of which are configured through a parameterization and distribution of links interconnecting these. Such parameterization can, for example, be in the form of priority properties corresponding to the decision criteria allocated to each application of the application space of the system.